love.graphics.setBackgroundColor(30,30,30)

game = {}
    game.players = {}
    game.playercount = 0
    game.hasFocus = true
    game.isPaused = false
    game.canTogglePause = false
    game.intro = false



local nilArea = function() print("area incomplete") end

areas = {}
	areas.current = "intro"
	areas.levelEditor = nilArea
	areas.mainGameSingle = nilArea
	areas.mainGameMulti = nilArea
	areas.optionsMenu =  nilArea
	areas.titleScreen = nilArea






gui = {}
-- a "float" is like a workspace to lay gui elements on
local floatBase = {grid = {}}
gui.float = {
  main = floatBase,
  pause = floatBase, 
  editor = floatBase,
  current = floatBase
}
-- BIG distinction here.  float.current will give you the current
-- table, while float.selected will tell you which table is active.
gui.float.selected = "main"

gui.button = {}
gui.button.buttons = {}

local blankSpriteBatch = love.graphics.newSpriteBatch
gui.buttonDefaults = {
  id = "",
  text = "click",
  image = nil,
  cover = nil,
  size = function() return {self.image:getWidth(), self.image:getHeight()} end,
  pos = {0,0},
  fill = true,
  colorDown = {150,150,150,255},
  colorHover = {255,255,255,255},
  colorUp = {200,200,200,255},
  press = nil,
  release = nil,
  hoverOn = nil,
  hoverOff = nil,
  held = false,
  hovered = false
}

